package com.yujiahao.bigdata.rdd.transform

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

/**
 * TODO Filter 	小功能：从服务器日志数据apache.log中获取2015年5月17日的请求路径
 * 翻译一下就是用filter过滤算子将这个条件放在在参数中，那么过滤之后就会只有满足这个条件才会被保留
 */

object Spark_RDD_Pper_Transform_FliterTest {
  def main(args: Array[String]): Unit = {


    //TODO 1、获得连接
    val conf: SparkConf = new SparkConf().setAppName("WordCount").setMaster("local")
    val sc: SparkContext = new SparkContext(conf)

    //TODO 3、业务逻辑
    //3.1 先获取到数据
    val Rdd: RDD[String] = sc.textFile("data/apache.log")
    //3.2 先将符合时间的行过滤出来，然后在按行读取数据,切割,拿到相应的值
    val newrdd: RDD[String] = Rdd.filter(
      line => {
        line.split(" ")(3).startsWith("17/05/2015")
      }
    ).map(
      line => {
        line.split(" ")(6)
      }
    )


    //打印遍历
    newrdd.collect().foreach(println)

    //TODO 2、关闭连接
    sc.stop()
  }
}